package com.xbongbong.parent.interfaces;

import com.xbongbong.paas.domain.entity.ext.ConditionsEntityExt;
import com.xbongbong.paas.toolbox.wrap.UserVO;
import com.xbongbong.parent.pojo.list.ConditionListPojo;

import java.util.List;

/**
 * 业务层条件语句封装
 * @author 吴峰
 * @date 2022/06/15 16:34
 */
public interface BusinessConditionService {

    /**
     * 业务层类型
     * @return
     */
    List<Integer> businessType();
    /**
     * ->com.xbongbong.saas.service.impl.SaasListServiceImpl.handleConditionBySubBusinessType
     * @param conditionListPojo
     * @return
     */
    List<ConditionsEntityExt> handleConditionBySubBusinessType(ConditionListPojo conditionListPojo);

    /**
     * 列表条件封装
     * @param conditionListPojo
     * @return
     */
    List<ConditionsEntityExt> packageConditionBySubBusinessType(ConditionListPojo conditionListPojo);

    /**
     * -> com.xbongbong.saas.service.toolbox.help.SaasListDataPermissionHelp#dingtalkRangeScreen(java.util.List, java.lang.String, java.util.Map, java.lang.String, java.lang.String, java.lang.Integer, java.lang.Integer, java.lang.String)
     * @param conditionsList
     * @param userVO
     * @param businessType
     * @param subBusinessType
     * @param platform
     */
    void dingtalkRangeScreen(List<ConditionsEntityExt> conditionsList, UserVO userVO, Integer businessType, Integer subBusinessType, String platform);

}
